﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AMS.Core.Math
{
    // make serializable
    public interface Numeric   // maybe already exists as IConvertible?
    {
        // operator Addition
        // operator Subtraction
        // operator Multiply
        // operator Division
        // operator Modulus
        // operator Equality
        // operator Inequality
        // operator Increment
        // operator Decrement
        // operator GreaterThan
        // operator LessThan
        // operator GreaterThanOrEqual
        // operator LessThanOrEqual

        // can the following allow implicit conversion of existing numeric type to this interface?
        // operator Explicit(INumeric to __) (for double, float, SByte, int16, int32, int64, Decimal, etc.)
        // operator Implicit(__ to INumeric) (for double, float, SByte, int16, int32, int64, Decimal, etc.)
    }
}
